package qc.module.qms.dto.pointdata;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * QMS点号数据管理结果DTO，对点号数据进行保存、删除、设置数据质量操作的返回结果
 * 对点号数据进行保存（最终是否进行新增或修改由保存方法内部判定）返回结果中包含对每条数据的实际操作动作（集合）
 *
 * @author QuCheng Tech
 * @since 2025/8/21
 */
@Data
public class QmsPointDataManageResultDto {
    /**
     * 结果是否成功，不管实际是否有数据变化只要执行完成就是成功
     */
    private boolean isSuccess;

    /**
     * 错误提示信息
     */
    private String msg;//错误提示信息

    /**
     * 受影响数据条数，包含新增、修改（修改数据值或质量标记）、删除
     */
    private int affectCount;

    /**
     * 受影响的数据集合
     * 包含每条数据受影响的操作明细，数据的新增、修改（包含修改任意一个字段数据值或数据质量标记）均包含在受影响的数据集合中
     */
    private List<QmsPointDataSaveAffectDto> affectDatas;
    /**
     * 保存点号数据未成功的数据时间点及提示信息
     */
    private Map<LocalDateTime, String> fails;
}
